#!/usr/bin/env python
# -*- encoding: utf-8 -*-

class SquareSeq:

	def __init__(self, n):
		self.n = n

	def __getitem__(self, k):
		if k >= self.n or k < 0:
			raise IndexError				# 인덱스 범위를 벗어나면 IndexError 예외 발생
		return k*k

	def __len__(self):
		return self.n


s = SquareSeq(10)
print "="*40
print s[2], s[4]

print "="*40
for x in s:		# IndexError가 발생하는 시점까지 반복
	print x,
print ""

print "="*40
print s[20]		# 인덱스 범위 초과
